import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Escribe una descrición de la clase Bomba aquí.
 * 
 * @autor Andrés Cruz Santiago 
 * @versión 22/10/13
 */
public class Bomba extends Arma
{    
    /**
     *Constructor de Bomba
     *@param unPirata Pirata que lanza Bomba
     */
    public Bomba(Pirata unPirata)
    {
        super(unPirata);
    }

    /**
     * Act - hace lo que Bomba quiere hacer. Este método se llama "cuando quiera" o whenever
     * los botones 'Actuar or 'Ejecutar' son presionados en el entorno.
     */

    public void act() 
    {
        super.act();
    }    

    /**
     * Mueve Arma
     */
    public void mueve()
    {
        int x=getX(), y=getY();

        switch(dir)
        {
            case IZQ:
            {
                this.setLocation(x-1,y);
                this.turn(-10);
            }
            break;
            case DER:
            {
                this.setLocation(x+1,y);
                this.turn(10);
            }
            break;
        }
        if(!isTouching(Piso.class))
            this.setLocation(x,y+5);

        if(this.getX() == 61 && dir==Direccion.IZQ)
            dir=Direccion.DER;
        if(this.getX() == 555 && dir == Direccion.DER)
        {
            if(y < 483)
                dir=Direccion.IZQ;
        }
    }  

    /**
     * Elimina Bomba
     */
    public void elimina()
    {
        if(this.getX() == this.getWorld().getWidth()-1 && dir == Direccion.DER)
        {
            if(this.getY() >= 483)           
            {
                World mundo=this.getWorld();               
                mundo.removeObject(this);
            }
        }
    }
}
